package org.springblade.modules.platform.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author SYG
 * @since 2023-07-10
 */

public class MeasuringChainPlatformTypeVO {



    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;



    /**
     * 1：正向；2：逆向
     */
    @ApiModelProperty(value = "1：正向；2：逆向")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Integer measuringTypeCode;

    @ApiModelProperty(value = "总数")
    private Long total;

    @ApiModelProperty(value = "侧台集合")
    private List<MeasuringChainPlatformInfoVO> measuringChainPlatformInfoVOS;
    @NoArgsConstructor
    public static class MeasuringChainPlatformInfoVO {

        @ApiModelProperty(value = "测量连名称")
        private String chainName;

        @ApiModelProperty(value = "1：正向；2：逆向")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Integer measuringTypeCode;

        /**
         * 距离
         */
        @ApiModelProperty(value = "ID")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Long id;
        /**
         * 距离
         */
        @ApiModelProperty(value = "距离")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Double previousDistance;

        /**
         * X轴夹角
         */
        @ApiModelProperty(value = "X轴夹角")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Double xAxis;

        /**
         * Y轴夹角
         */
        @ApiModelProperty(value = "Y轴夹角")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Double yAxis;

        /**
         * 父级侧台ID
         */
        @ApiModelProperty(value = "父级侧台ID")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Long parentPlatformId;

        /**
         * 测台id
         */
        @ApiModelProperty(value = "测台id")
        @JsonSerialize(nullsUsing = NullSerializer.class)
        private Long measuringPlatformId;

        /**
         * 测台名称
         */
        @ApiModelProperty(value = "测台名称")
        private String measuringPlatformName;
        /**
         * 测台名称
         */
        @ApiModelProperty(value = "是否删除")
        private Boolean isDelete;


        /**
         * 测台类型：1，基础测台；2，普通测台
         */
        @ApiModelProperty(value = "测台类型：1，基础测台；2，普通测台")
        private Integer measuringPlatformType;


        @ApiModelProperty(value = "X坐标")
        private String x;
        @ApiModelProperty(value = "Y坐标")
        private String y;

        public String getX() {
            return x;
        }

        public void setX(String x) {
            this.x = x;
        }

        public String getY() {
            return y;
        }

        public void setY(String y) {
            this.y = y;
        }

        public String getChainName() {
            return chainName;
        }

        public void setChainName(String chainName) {
            this.chainName = chainName;
        }

        public Integer getMeasuringTypeCode() {
            return measuringTypeCode;
        }

        public void setMeasuringTypeCode(Integer measuringTypeCode) {
            this.measuringTypeCode = measuringTypeCode;
        }

        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        public Double getPreviousDistance() {
            return previousDistance;
        }

        public void setPreviousDistance(Double previousDistance) {
            this.previousDistance = previousDistance;
        }

        public Double getxAxis() {
            return xAxis;
        }

        public void setxAxis(Double xAxis) {
            this.xAxis = xAxis;
        }

        public Double getyAxis() {
            return yAxis;
        }

        public void setyAxis(Double yAxis) {
            this.yAxis = yAxis;
        }

        public Long getParentPlatformId() {
            return parentPlatformId;
        }

        public void setParentPlatformId(Long parentPlatformId) {
            this.parentPlatformId = parentPlatformId;
        }

        public Long getMeasuringPlatformId() {
            return measuringPlatformId;
        }

        public void setMeasuringPlatformId(Long measuringPlatformId) {
            this.measuringPlatformId = measuringPlatformId;
        }

        public String getMeasuringPlatformName() {
            return measuringPlatformName;
        }

        public void setMeasuringPlatformName(String measuringPlatformName) {
            this.measuringPlatformName = measuringPlatformName;
        }

        public Boolean getDelete() {
            return isDelete;
        }

        public void setDelete(Boolean delete) {
            isDelete = delete;
        }

        public Integer getMeasuringPlatformType() {
            return measuringPlatformType;
        }

        public void setMeasuringPlatformType(Integer measuringPlatformType) {
            this.measuringPlatformType = measuringPlatformType;
        }

        @Override
        public String toString() {
            return "MeasuringChainPlatformInfoVO{" +
                    "chainName='" + chainName + '\'' +
                    ", measuringTypeCode=" + measuringTypeCode +
                    ", id=" + id +
                    ", previousDistance=" + previousDistance +
                    ", xAxis=" + xAxis +
                    ", yAxis=" + yAxis +
                    ", parentPlatformId=" + parentPlatformId +
                    ", measuringPlatformId=" + measuringPlatformId +
                    ", measuringPlatformName='" + measuringPlatformName + '\'' +
                    ", isDelete=" + isDelete +
                    ", measuringPlatformType=" + measuringPlatformType +
                    ", x='" + x + '\'' +
                    ", y='" + y + '\'' +
                    '}';
        }
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }



    public Integer getMeasuringTypeCode() {
        return measuringTypeCode;
    }

    public void setMeasuringTypeCode(Integer measuringTypeCode) {
        this.measuringTypeCode = measuringTypeCode;
    }

    public Long getTotal() {
        return total;
    }

    public void setTotal(Long total) {
        this.total = total;
    }

    public List<MeasuringChainPlatformInfoVO> getMeasuringChainPlatformInfoVOS() {
        return measuringChainPlatformInfoVOS;
    }

    public void setMeasuringChainPlatformInfoVOS(List<MeasuringChainPlatformInfoVO> measuringChainPlatformInfoVOS) {
        this.measuringChainPlatformInfoVOS = measuringChainPlatformInfoVOS;
    }

    @Override
    public String toString() {
        return "MeasuringChainPlatformTypeVO{" +
                "id=" + id +
                ", measuringTypeCode=" + measuringTypeCode +
                ", total=" + total +
                ", measuringChainPlatformInfoVOS=" + measuringChainPlatformInfoVOS +
                '}';
    }
}
